Operator CXPSingleCamera

運算子庫:硬體平台

此運算子代表 CXP 單通道攝影機與VisualApplets 之間的影像資料介面。

適用於硬體平台
mE5 marathon VCX-QP
mE5 ironman VQ8-CXP6D
mE5 ironman VQ8-CXP6B

該運算子在其輸出 O 上提供影像資料。此輸出始終存在。

除了這個標準輸出埠之外,您還可以指定一組可選的輸入與輸出。

在操作員實例化過程中,會出現以下彈出式對話方塊:

在此,您可以指定透過 CXP 纜線連接的通用輸入與輸出之選用埠, 以及與攝影機之間的可選觸發埠。

您可以定義特定 GPI(通用輸入)、特定 GPO(通用輸出)、觸發輸入埠以及觸發輸出埠的可用性。

若將埠可用性設定為「0」(預設值), 該埠將不會出現在操作介面中。 若將埠可用性設定為 1,該埠即會在操作介面中顯示為可用。

該運算子使用 1 個類型為CameraPort 的資源。

[重要] 修改圖片寬度與高度

您可以將寬度和高度調整為符合特定相機的設定。 然而,操作員埠 O 上的最大影像寬度 上的最大影像寬度必須能被該埠的並行度 。

請確保最大影像寬度能被埠 O 的平行度整除!

[重要] 價值在於Parallelism

埠 O 的並行度必須至少設定為最小值(如參數MinimalParallelism 所指定)。 不允許設定比此更低的並行度值。 VisualApplets 會根據您為 此運算子的其他參數所定義的值,計算出最低並行度。 如此一來,即可確保始終能接收傳入的資料。

[重要] 虛擬像素

輸出資料可能會包含虛擬像素。 這是因為該運算子可能會將並行度轉換兩次。首先,該 運算子會在內部將並行度轉換為其計算出的最小並行度,並將其 作為唯讀值提供給參數 MinimalParallelism。 這會導致內部 影像寬度可被MinimalParallelism整除, 且可能因平行化轉換而增加虛擬值。 其次, 運算子會將並行度轉換為O。Parallelism , 若第一次並行度轉換所產生的墊片後影像寬度 並非O 的倍數,則可能會 增加更多虛擬值。Parallelism 。因此,輸出資料是否包含 虛擬像素,取決於MinimalParallelism 參數、影像寬度以及O。Parallelism 。每次 平行度轉換都可能增加虛擬像素。這些額外的虛擬像素包含 未定義的資料值,並導致影像寬度偏離實際影像 寬度。

範例:若 MinimalParallelism為 8, O.Parallelism為 32,且傳輸影像 寬度為 140 像素,則運算子會根據 MinimalParallelism 參數中定義的 8 級內部並行度, 這是因為在 MinimalParallelism參數中定義的內部並行度為 8。在輸出時, 資料向量會轉換為並行度 32 (O.Parallelism ),從而產生 寬度為 160 像素的影像行。

由於存在虛像點,預期輸出影像的寬度為:

[重要] Bit Width 以及格式類型

埠 O(影像埠)的位元寬度取決於所選的格式類型(參數FormatType):

  • 若 FormatType = Gray:Bit Width 可取任何值(VAF_Gray 及 FL_NONE)。
  • 若 FormatType = RGB:Bit Width 為 3 的倍數(VAF_Color 及 FL_RGB)
  • 若 FormatType = RGBA:Bit Width 為 4 的倍數(VAF_Gray 和 FL_NONE)
  • 若 FormatType = RAW:Bit Width 的值為 32(VAF_Gray 及 FL_NONE)

I/O Properties

Property Value
Operator Type M
Input Links - TriggerI(可選), 由影像擷取卡透過 CXP 通道傳送至相機的觸發訊號。 此連接埠 通常用於觸發線掃描相機。
- GPIx(可選),由幀擷取卡透過 CXP 通道傳送至攝影機的通用輸入 [x]。可用的包括 GPI0、 GPI1、GPI2、GPI3、GPI4、GPI5、GPI6 及 GPI7。
輸出連結 - O,影像資料輸出
- TriggerO(可選),由相機透過 CXP 通道傳送至影像擷取卡的觸發訊號。
- GPOx(可選),由相機透過 CXP 通道傳送至影像擷取卡的通用輸出 [x]。可用的選項包括 GPO0、 GPO1、GPO2、GPO3、GPO4、GPO5、GPO6 及 GPO7。

Supported Link Format

Link Parameter 輸出連結 - O 輸入連結 - TriggerI(可選) 輸出連結 - TriggerO(可選) 輸入連結 - GPIx(可選) 輸出連結 - GPOx(可選)
Bit Width any 1 1 1 1
Arithmetic 無號數 無號數 無號數 無號數 無號數
Parallelism any1 1 1 1 1
Kernel Columns 1 1 1 1 1
Kernel Rows 1 1 1 1 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} (default: VALT_IMAGE2D) VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL
Color Format {VAF_GRAY, VAF_COLOR}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

(若 Color Format 為 VAF_GRAY,則 Color Flavor 為 FL_NONE; 若 Color Format 為 VAF_COLOR,則 Color Flavor 為 FL_RGB。)

VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor {FL_NONE, FL_RGB}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

(若 Color Format 為 VAF_GRAY,則 Color Flavor 為 FL_NONE; 若 Color Format 為 VAF_COLOR,則 Color Flavor 為 FL_RGB。)

FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width 任意 (預設值:1024) 1 1 1 1
Max. Img Height 任意 (預設值:1024) 1 1 1 1

1

必須設定為至少達到參數 MinimalParallelism 中所指定的最小值。

若MinimalParallelism與 O.Parallelism之間存在差異,則 並行度會被轉換兩次,且每次都可能被加入虛擬值。 由於這些虛擬像素的存在,預期輸出影像的寬度為:

Parameters

相機識別碼
Type 靜態寫入參數
Default
Range {-1, 0, 1, 2, 3}

該 CameraID 參數用於向攝影機 操作員的韌體定義 CXP 主控端埠 ID, 以便進行自動 CXP 拓撲發現(攝影機對小程式以及小程式對攝影機)。

透過此參數,您可直接在此操作員中指定 ID。 不過,我們建議您在「資源」對話方塊中指定操作員的資源。 (要開啟「資源」對話方塊,只需選取攝影機操作員,然後從「設計」選單中選擇「資源」選單項目即可。) CameraID 參數將根據「資源」對話方塊中的參數,自動更新為正確的主埠。 以下範例使用一台單鏡頭攝影機和一台雙鏡頭攝影機:

模組 3(單鏡頭)的 CameraID(CXP 主埠 ID)為 2。 模組 5(雙鏡頭)的 CameraID(CXP 主埠 ID)為 1。

雙鏡頭相機需要 2 個 CXP 相機連接埠。(四鏡頭相機則需要 4 個連接埠。) 操作員的 CameraID 參數中僅反映主連接埠。

當您定義的 CameraPort 資源數量超過上限(上限為 4)時,例如當您實例化 5 個「CXPSingleCamera」 運算子, 最後一個請求 CameraPort 資源的攝影機運算子(此時所有 4 個可用資源均已佔用) 會將其 CameraID 設定為 -1。 在此情況下,設計規則檢查會報告錯誤。

參數 CameraID 的取值範圍為 {-1,0,1,2,3}。

MinimalParallelism
Type 靜態讀取參數
Default 8
Range [1 : 512]

一個唯讀參數,用於指定 輸出鏈路 O 的最低並行度,該並行度仍能傳輸 相機的最大頻寬,且不會造成資料遺失。最低並行度將 自動計算。

該數值取決於 您在FormatMode 參數中選取的像素格式。

若將參數 FormatMode定義為動態 參數(請參閱下文對參數FormatMode 的說明),系統將計算可能發生的最小並行度。

最低程度的並行化可能會導致 產生虛擬像素,因為運算子可能會將並行化 轉換兩次,並在此過程中加入虛擬值。由於這些虛擬像素的存在, 預期輸出影像的寬度為:

Status
Type 動態讀取參數
Default
Range {0; 2^7-1}

該 Status 參數是一個執行時期的唯讀參數,用以反映攝影師的當前狀態。 位元[0] 表示偵測到 CXP 資料流封包遺失。 位元[1] 表示偵測到 CXP 資料流封包中的單位元組錯誤。 位元[2] 表示偵測到 CXP 資料流封包中的多位元組錯誤。 位元[3..6] 保留未用。 此參數在未來版本中可能會有所變更。

格式類型
Type 靜態寫入參數
Default GRAY
Range 灰階、RGB、RGBA、RAW

在此處,您可以選擇要接收哪種像素格式(依據 CXP 規格定義) 。 您在此處選取的值,將決定在參數FormatMode 中可選取哪些像素格式。 因此,此參數的設定會直接影響參數FormatMode。 請同時參閱下文關於參數FormatMode的說明文件。

格式模式
Type 靜態或動態(使用者定義)寫入參數
Default Mono8
Range {Mono8、Mono10、Mono12、Mono14、Mono16、 BayerGR8、BayerGR10、BayerGR12、BayerGR14、BayerGR16、 BayerRG8、BayerRG10、BayerRG12、BayerRG14、BayerRG16、 BayerGB8、BayerGB10、BayerGB12、BayerGB14、BayerGB16、 BayerBG8、BayerBG10、BayerBG12、BayerBG14、BayerBG16、 RGB8、RGB10、RGB12、RGB14、RGB16、 RGBA8、RGBA10、RGBA12、RGBA14、RGBA16、 Raw}

此參數提供所有(由 CXP 規格所定義的)像素格式, 且這些格式均屬於您在FormatType 參數中選定的格式類型。

您在此處可選取的像素格式,取決於參數 FormatType 的設定。 因此,您所能選用的範圍始終僅限於預設的完整值範圍。

若要取得另一組像素格式,請變更FormatType 參數的設定。 另請參閱上文有關FormatType參數的說明。

具體而言,參數FormatType的以下設定會提供 參數FormatMode 中的以下像素格式:

FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16}

FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16}

FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16}

FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received .

You can decide if you want to use this parameter as a dynamic or as a static parameter. Select in column Parameter Type:

TxTriggerPacketMode
Type dynamic write parameter
Default CxpStandard
Range {CxpStandard, RisingEdgeOnly}

透過參數TxTriggerPacketMode,您可以提升連接影像擷取卡與攝影機的 CXP 纜線的頻寬。 此頻寬提升是透過微調攝影機觸發訊號的解讀方式來實現的。

請注意,此功能僅適用於支援此功能的特定相機。 如需詳細資訊,請聯絡您當地的經銷商或Basler 技術支援部門。

參數TxTriggerPacketMode允許兩種取值(CxpStandard、RisingEdgeOnly):

  • CxpStandard: 建議的設定為 CxpStandard。 若設定為 CxpStandard,相機觸發機制將依照 CXP 規範運作。 (CXP 規範定義,幀擷取卡會透過 CXP 纜線向相機傳送兩個封包,以觸發 相機一次。)

  • 僅上升沿:若設定為「RisingEdgeOnly」,幀擷取器僅會向攝影機傳送一個封包,以觸發攝影機一次。 如此一來,可提升頻寬並提高線速。

TxTriggerEventCount
Type 動態讀取參數
Default 0
Range {0;2^20-1}

該 TxTriggerEventCount 參數 表示已傳送至攝影機的觸發邊緣事件數量。

TxTriggerAcknowledgementCount
Type 動態讀取參數
Default 0
Range {0;2^20-1}

該 TxTriggerAcknowledgementCount 參數 表示幀擷取卡已接收多少個由攝影機發送的觸發確認封包 (此為對先前發送之觸發邊沿封包的回應) 。

TxTriggerWaveformViolation
Type 動態讀取參數
Default 0
Range {0,1}

若攝影機操作員偵測到 TriggerI 埠上兩個觸發邊沿之間的距離違反了最低邊沿頻率,則會將此參數設定為 1。 在所有 microEnable 5 平台上,最低邊沿頻率為 550 ns(奈秒)。 該參數會維持其值,直到被讀取為止。 讀取後,該參數會更新其值。 頻率控制會持續運行,且不受該參數讀取狀態的影響。

Examples of Use

以下範例展示了 CXPSingleCamera 運算子的使用方式: